#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

typedef struct{
    char code[6];
    char name[20];
    char description[40];
    int  semesters;
    int  status;
}structCourse;

FILE *fp;
structCourse *nullPointer;

int main(void){
    char option;
    
    //SE O ARQUIVO NÃO EXISTE CRIA UM ARQUIVO VAZIO
    if(!(fp = fopen("myCourse", "rb"))){
        fp = fopen("myCourse", "wb"); 
        fclose(fp);
    }
    

    for(;;){
        system("cls");

        printf("********************************************************************************");
        printf("***                               MyCourse                                   ***");
        printf("********************************************************************************\n");
        printf("SELECIONE UMA OPCAO: \n\n");
        printf("[1] Cadastrar Curso\n");
        printf("[2] Buscar Curso\n");
        printf("[3] Remover Curso\n");
        printf("[4] Atualizar Curso\n");
        printf("[X] Sair\n\n");

        fflush(stdin);
        option = getchar();

        switch(option){
            case '1':
                cadCourse();
                break;
            case '2':
                fndCourse();
                break;
            case'3':
                dltCourse();
                break;
            case '4':
                updCourse();
                break;
            default:
                exit(0);
                break;
        }
    }
}

cadCourse(){
    structCourse course;
    printf("\nCADASTRO DE CURSO\n");

    printf("Digite o codigo do curso: ");
    fflush(stdin);
    gets(course.code);
    strcpy(course.code, strToUpper(course.code));

    printf("Digite o nome do curso: ");
    fflush(stdin);
    gets(course.name);
    strcpy(course.name, strToUpper(course.name));

    printf("Digite a descricao do curso: ");
    fflush(stdin);
    gets(course.description);
    strcpy(course.description, strToUpper(course.description));

    printf("Digite a quantidade de semestres do curso: ");
    fflush(stdin);
    scanf("%d", &course.semesters);
    
    course.status = 0;
}

fndCourse(){
    structCourse *course;
    char option;
    char keyCode[6];
    char keyName[20];

    printf("\nSELECIONE UMA OPCAO DE BUSCA:\n");
    printf("[1] Busca por codigo\n");
    printf("[2] Busca por codigo com listagem\n");
    printf("[3] Busca por nome\n");
    printf("[4] Busca por parte do nome\n");
    printf("[X] Cancelar\n");

    fflush(stdin);
    option = getchar();

    switch(option){
        case '1':
            break;
        case '2':
            break;
        case '3':
            break;
        case '4':
            break;
        case 'x':
            break;
        case 'X':
            break;
        default:
            break;
    }
}

dltCourse(){
    structCourse *course;
    char option;
    char keyCode[6];
    char keyName[20];

    printf("\nSELECIONE UMA OPCAO DE REMOCAO:\n");
    printf("[1] Remocao por codigo\n");
    printf("[2] Remocao por codigo com listagem\n");
    printf("[3] Remocao por nome\n");
    printf("[X] Cancelar\n");

    fflush(stdin);
    option = getchar();

    switch(option){
        case '1':
            break;
        case '2':
            break;
        case '3':
            break;
        case 'x':
            break;
        case 'X':
            break;
        default:
            break;
    }
}

updCourse(){}